Linux Shell 美化提示符(csh / bash)

简介

通过配置 shell 的提示符变量(csh 使用 promptbash 使用 PS1),实现带颜色、两行结构、显示用户名/主机/时间/当前路径的终端提示符。

效果说明


1. csh 配置

1.1 临时生效(当前会话)

set prompt="%{\033[0;36m%}┌─%{\033[1;32m%}[%{\033[1;31m%}%n%{\033[0;34m%}@%{\033[1;33m%}%m%{\033[1;32m%}][%{\033[1;34m%}%P%{\033[1;32m%}]%{\033[1;30m%}%/\n%{\033[0;36m%}└─╼ %{\033[0m%}%# "

1.2 永久生效(推荐)

将上述内容追加到以下任一文件中(按实际环境选择):

示例:

echo 'set prompt="%{\033[0;36m%}┌─%{\033[1;32m%}[%{\033[1;31m%}%n%{\033[0;34m%}@%{\033[1;33m%}%m%{\033[1;32m%}][%{\033[1;34m%}%P%{\033[1;32m%}]%{\033[1;30m%}%/\n%{\033[0;36m%}└─╼ %{\033[0m%}%# "' >> ~/.cshrc

让配置立即生效:

source ~/.cshrc

2. bash 配置

2.1 临时生效(当前会话)

export PS1='\[\e[0;36m\]\342\224\214\342\224\200\[\e[1;32m\][\[\e[1;31m\]\u\[\e[0;34m\]@\[\e[1;33m\]\H\[\e[1;32m\]][\[\e[1;34m\]\t\[\e[1;32m\]]\[\e[1;30m\]$PWD\[\e[0m\]\n\[\e[0;36m\]\342\224\224\342\224\200\342\225\274 \[\e[0m\]\$ '

2.2 永久生效(推荐)

将上述内容追加到:

示例(写入 ~/.bashrc):

echo "export PS1='\[\e[0;36m\]\342\224\214\342\224\200\[\e[1;32m\][\[\e[1;31m\]\u\[\e[0;34m\]@\[\e[1;33m\]\H\[\e[1;32m\]][\[\e[1;34m\]\t\[\e[1;32m\]]\[\e[1;30m\]$PWD\[\e[0m\]\n\[\e[0;36m\]\342\224\224\342\224\200\342\225\274 \[\e[0m\]\$ '" >> ~/.bashrc

让配置立即生效:

source ~/.bashrc

3. 回滚(恢复默认提示符)

csh

~/.cshrc / ~/.tcshrc 中删除对应 set prompt=... 行,或临时执行:

unset prompt

bash

~/.bashrc 等文件中删除对应 export PS1=... 行,或临时执行:

unset PS1